<?php
/**
 * Klasa obłusgująca komunikacje przeglądarki z aplikacją poprzez sesje.
 * @author Mateusz Łędzewicz
 * @author Patryk Powiłan
 */
class SessionData extends Data{
	
	public function getUserId(){
		$this->prepare('id', DataType::unsignedInt);
		return $this->get('id');
	}
	
	public function getUserPermision(){
		$this->prepare('userPermision');
		return $this->get('userPermision');
	}
	
	public function userLoggedIn(){
		if(array_key_exists('userId', $this->data))
			return true;
		return false;
	}
	
	
	public function set($field, $value){
		parent::set($field, $value);
		$_SESSION[$field] = $value;
	}
	
	public function logIn($id, $permision){
		if(!$this->userLoggedIn()){
			$this->set('userId', $id);
			$this->set('userPermision', $permision);
		}
	}
	
	public function logOut(){
		if($this->userLoggedIn()){
			unSet($_SESSION['userId']);
			unSet($_SESSION['userPermision']);
			unSet($this->prepareData['userId']);
			unSet($this->prepareData['userPermision']);	
		}
	}
}

?>